package javaCode.chapter16.method;

/**
 * @author 徐州城
 * @version 1.0
 */
public class ThreadMethod02 {
    public static void main(String[] args) throws InterruptedException {

        T2 t2 = new T2();
        t2.start();

        for (int i = 0; i < 20; i++) {
            Thread.sleep(500);
            System.out.println("主线程(老二) 吃了" + (i + 1) + " 包子");

            if (i == 5) {
                System.out.println("主线程(老二) 让 子线程(老大) 先吃");
                //join，线程插队
                //t2.join();//这里相当于让t2 线程先执行完毕

                Thread.yield();//礼让，不一定成功
                System.out.println("子线程(老大) 吃完了 主线程(老二) 接着吃");
            }
        }
    }
}

class T2 extends Thread{

    @Override
    public void run() {
        for (int i = 0; i < 20; i++) {

            try {
                Thread.sleep(500);//休眠0.5s
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("子线程(老大) 吃了" + (i + 1) + " 包子");
        }
    }
}